﻿using System;
using System.Windows.Controls;
using System.Windows.Media;

namespace LunarSF.SHomeWorkshop.LunarMarkdownEditor
{
    public interface IPythonScriptItem
    {
        PythonScriptCallMode CallMode { get; }
        PythonEditor Editor { get; set; }
        string FullPath { get; set; }
        string GroupName { get; set; }
        Brush HeaderBackground { get; set; }
        Brush HeaderForeground { get; set; }
        bool IsLmePyScript { get; }
        DateTime LastWriteTime { get; set; }
        PythonScriptLocation Location { get; set; }
        string PopupButtonGroupsText { get; set; }
        string ShortCutText { get; set; }
        TextBlock TbCallMode { get; }
        TextBlock TbDescription { get; }
        TextBlock TbScriptAuthor { get; }
        TextBlock TbTitle { get; }
        string Title { get; set; }
        string ToolBarButtonText { get; set; }

        PythonScriptCallMode ConvertToPythonScriptCallMode(string modeText);
        void RefreshCallMode(PythonScriptCallMode? mode = null);
        void RefreshGroupName();
        void RefreshHeaderBackground();
        void RefreshHeaderForeground();
        void RefreshShortCut();
    }
}